<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>$(NetCoreAppCurrent);$(NetFrameworkMinimum)</TargetFrameworks>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
  </PropertyGroup>

  <PropertyGroup>
    <!-- Workaround an OOM in LLVM -->
    <WasmDedup>false</WasmDedup>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="Helpers.cs" />
    <Compile Include="TensorPrimitives.NonGeneric.Single.cs" />
    <Compile Include="TensorPrimitivesTests.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
    <Compile Include="TensorPrimitives.ConvertTo.cs" />
    <Compile Include="TensorPrimitives.Generic.cs" />
  </ItemGroup>

  <ItemGroup>
    <!-- Some internal types are needed, so we reference the implementation assembly, rather than the reference assembly. -->
    <ProjectReference Include="..\src\System.Numerics.Tensors.csproj" SkipUseReferenceAssembly="true" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
    <PackageReference Include="System.ValueTuple" Version="$(SystemValueTupleVersion)" />
  </ItemGroup>

</Project>
